home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
cli
/
mkms_1_35.lha
/
mkms
/
readme
< prev
next >
Wrap
Text File
|
1994-10-21
|
7KB
|
168 lines
This is a simple program I wrote just to reduce my long distance costs.
With very little effort (and an ANSI compiler) this will compile and
run on just about any machine with any architecture. You might need
to exert a little thought to decide where to put the "config" file but,
the rest should be straight forward enough.
All this program does is take an input file (or you may type in the
relevant information from the keyboard directly into mkms should
you indicate that option on the command line) and create a simple
*IX bourne-shell script that mails out all the messages to the various
addresses at once. You do this on your personal machine and archive
the files and the script together (or not) and upload the archive
(or all the files and script) to your mailing account and then extract
the files from the archive (or not if you uploaded individual files)
and lastly execute the script (for a script named "mail.sh" you would
do something like ". ./mail.sh" after doing a "chmod 700 mail.sh")
It seems complex at first but really it is simple once you have tried
it. A simple step-by-step list of what you need to do:
1) write files to mail out
2) create input file
3) run mkms on input file ("mkms -i<input> -o<output>")
4) (optional) archive all the files and script
5) upload archive (or individul files and script) to mailing address.
6) (optional dependant on #4) extract files from archive
7) execute script
That's all there is to it....
There are three example files included in the archive - res.test,
ftp.test and .mkmsrc. The res.test is a sample mail input file, ftp.test
is a sample ftp index file and .mkmsrc is just an example of the "config"
file. This "config" file is where the user places his/her "aliases".
Add lines to the config file in the manner:
alias real_address
(the alias must be a single string with no embedded spaces as must
be the real_address. Both must be separated by a single space ONLY)
So that if you want to use "airk" in the input instead of having to
type out "uairk@mcl.mcl.ucsb.edu" each time you use that address to
mail to your entry in your config file (.mkmsrc) would be:
airk uairk@mcl.mcl.ucsb.edu
The config file should be in the upmost level of your home directory
since mkms looks at "$HOME/.mkmsrc" to find it. Of course
you can compile it differently.
The input looks like:
address file subject
Where "address" is the real address or alias (from the config file)
of the receiving address. "file" is the file you are sending to
"address" and "subject" is the subject header you want to appear
with that file when the user at "address" opens his/her electronic
mail box. An example might be:
airk a_message_to.airk What's new with you?
So here airk (an alias for uairk@mcl.mcl.ucsb.edu) is a receiving
address. To that address the file "a_message_to.airk" is sent
with the subject header "What's new with you".
It could also be done as:
uairk@mcl.mcl.ucsb.edu a_message_to.airk What's new with you?
Where the alias was not used.
A note on ftp sites and usage for ncftp:
If I were to go to ftp.cdrom.com to retrieve the file
/pub/aminet/util/misc/mkms.tar.gz
I could do this:
ncftp ftp.cdrom.com:/pub/aminet/util/misc/mkms.tar.gz
and ncftp would facilitate the retrieval for me. The way mkms works
with this is by letting you create an index file like the sample
included with this distribution. The command line then would be:
mkms -F -i ftp.test -S ftp.cdrom.com:/pub/aminet -o ftp.sh
(note that since mkms uses getopt() you need to indicate the input
and output files as well as the ftp site name following their
respective command line flags)
which would have mkms read in the ftp index file and create a script
to retrieve each of the files in the index using the path
ftp.cdrom.com:/pub/aminet
If you look at the example index you should see how this works. It
is probably wise to create entries in your .mkmsrc file for ftp sites
you visit often. See the example .mkmsrc file.
An yet another side note:
The .mkmsrc file also takes comments. Comments have a '#' in the first
column. Those lines beginning with a '#', space, or tab will be ignored.
Not that comments should be necessary but, someone might find use for
them.
You should see the manpage (mkms.1) for details on the other
various options and the bug...
One other thing:
I make extensive use of the clib function "strsep". It is therefore
impossible to compile mkms without the ability to use strsep. If
your compiler's C function library does not contain strsep() just
comment out the line in the Makefile that defines SRCS and uncomment
the one that includes strsep.c (ie - remove the '#' from the one
with strsep.c and put a '#' in front of the line for SRCS that does
not have strsep.c) If your compiler's clib DOES have strsep() then
make sure that the line that includes strsep.c is commented out and
the line that does not include strsep.c is uncommented. To find out
if you have strsep() compiler's clib - just do:
grep -i strsep /usr/include/string.h
(that's where strsep() should be if it exists) If you get no response
on that inquiry it's likely you do not have it.
Again, strsep.c is property of BSD and I am including it here under
the copyright license that is a part of the file strsep.c.
I should probably rewrite mkms to look for the config file someplace
else besides '$HOME' since some people like to change that variable
(I have no idea why) but, I wrote it for myself mostly since my Long
Distance costs were getting outta hand (there's no local access to the
internet here) and I needed a quick and cheap solution to the problem.
I can be contacted at:
gort@shell.portal.com
if there are serious problems with mkms.
disclaimer:
This is freeware - therefore you may do with it what you wish since I
am tossing it into the public domain. If you do make changes to the
sources, mark them as changes so that others know the original author
did not create those changes. MKMS however is intended to be FREEware
and hence it should stay that way. It may not be sold for any price.
Being as mkms is free software and in the public domain I make no
claims as to what it will or will not do nor do I, the author, accept any
responsibility for any damages to man, machine, data, or animal due to
the use or misuse of this software.
This software and all documents from the original must be included in
any further distribution of this package.
This software (mkms.c, Makefile, mkms.1 ftp.test, mail.test, .mkmsrc)
is Copyright (c)1994 by Eric R. Augustine.